|
CATIA V5 Programmierung : DMU Review
pittyplatsh am 23.10.2009 um 17:10 Uhr (0)
Hallo wiedermal alle zusammen,schon wieder stoße ich an meine Grenzen und finde weder in der Dokumentation noch über Google eine Ansatzweise mögliche Lösung:Ich möchte ein Review erstellen (Ordner aus DMU Navigator oder Space Analysis). Jedoch finde ich einfach keine dafür Methoden dafür. Habe jetzt schon einfach den Befehl selbst ausgeführt (CATIA.StartCommand ("Review"). Damit habe ich wenigstens einen drin.Nun gehts aber daran diesen umzubenennen... Man kann zwar unter den Optionen die Voreinstellungen ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Dateinamen auslesen
pittyplatsh am 10.11.2009 um 20:06 Uhr (0)
Mit welcher Fehlermeldung bricht CATIA denn ab?Habe es eben mal ausprobiert:Struktur:Produkt |_ CGR |_ Part |_ ProduktCode:Sub CATMain()Dim documentRoot As DocumentSet documentRoot = CATIA.ActiveDocumentDim productRoot As ProductSet productRoot = documentRoot.ProductMsgBox(productRoot.Products.Item(1).GetMasterShapeRepresentationPathName)MsgBox(productRoot.Products.Item(2).GetMasterShapeRepresentationPathName)MsgBox(productRoot.Products.Item(3).GetMasterShapeRepresentationPathName)End SubBeim CGR und dem P ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Bohrungen innerhalb einer Selection modifizieren
pittyplatsh am 19.11.2009 um 18:40 Uhr (0)
Was ich mich gerade Frage ist, warum du so einen umständlichen Weg gehst?ThreadlistM12.Item(I).Value ist das Objekt Hole, welches du modifizieren möchtest. Du lässt dir den Namen ausgeben (Namen sind Zeichenketten, also vom Typ String) suchst den Body und dann innerhalb des Bodys über den Namen wieder das Objekt...Code:ThreadlistM12.Item(I).Value.Type würde da sicherlich reichen. Und du hast auch keine Probleme wegen Namen (diese sind ja nicht zwingend eineindeutig).Alternativ würde ich, wenn kein Weg dran ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Item auslesen
pittyplatsh am 19.11.2009 um 18:57 Uhr (0)
Code:Sub CATMain()Dim produkt As ProductSet produkt = CATIA.ActiveDocument.ProductDim filter(0)filter(0) = "AnyObject"Dim b As ObjectDim sel As StringDim usersel As SelectionSet usersel = CATIA.ActiveDocument.Selectionsel = usersel.SelectElement2(filter, "Bitte Teil selektieren", False)If sel = "Normal" Then Selektion war erfolgreich, "Cancel" zb bei Abbruch ...Set b = usersel.Item(1).Value um zum selektieren Objekt zu gelangenMsgBox(b.Name) Gibt den Namen des Objektes ausEnd IfEnd SubDas SelectedElement i ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Section Create
pittyplatsh am 08.11.2009 um 15:49 Uhr (0)
So, nun habe ich wirklich das Gefühl dass sich ein wenig auf den Lorbeeren ausgeruht wird. Die Makroprogrammierung ist in R19 ja nur schlimmer anstatt besser geworden.Code:Dim Selempty As StringIf (TypeName(selectedItems.Item(1).Value) = "Section") Then Selempty = selectedItems.Item(1).Value.IsEmpty MsgBox(Selempty)End IfWas würde man von dem Code erwarten? In einer Selektion werden die Typen der Elemente geprüft, wenn es sich um eine Section handelt wird daraf .IsEmpty ausgeführt. Wenn ich das direkt auf ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Section Create
pittyplatsh am 30.10.2009 um 00:29 Uhr (0)
Und wieder ein Enpass (ob die wohl jemals aufhören).Diesmal kann ich mir beim besten Willen den "Fehler" (falls es einen gibt) nicht erklären.Es dreht sich um folgende Zeilen:Code:[...]MsgInput = MsgBox("Es wurden [... gekürzt ...] extrahiert werden?", vbYesNo, "EXTRAHIEREN weiterer Groups")If (MsgInput = vbYes) ThenDim s As Integers = selectedItems.CountWhile ( s = selectedItems.Count)If (TypeName(selectedItems.Item(s).Value) = "Group") Then[...]Ich habe die Werte von s und selectedItems.Count überprüft i ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Section Create
pittyplatsh am 05.11.2009 um 20:44 Uhr (0)
Nächstes Problem.Ich möchte zwei Objekte miteinander vergleichen, ob es sich dabei um das gleiche Objekt handelt.Hintergrund: User selektiert eine Group. Alle mit dieser Group verbundenen Sections (Section.Group) sollen herausgefunden werden für ein Update.Die Unterscheidung kann leider nicht anhand des Namens erfolgen. Aber CATIA schafft es ja auch gleichnamige Objecte zu unterscheiden. Also gibt es ein eineindeutiges Merkmal jeden Objektes. Das denke ich werde ich vergleichen müssen.[Diese Nachricht wurd ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Section Create
pittyplatsh am 06.11.2009 um 19:49 Uhr (0)
Warum muss die Makro-Programmierung von CATIA nur immer so umständlich sein?Habe den Objektvergleich gelöst (If ... Is ... Then).Allerding gleich auf das nächste Problem aufgelaufen. Wie kann ich eine Section updaten, ohne dabei das gesamte Product durch ein Update zu schicken? UpdateObject gibts ja nur innerhalb den Parts und die simple Lösung Section.Update scheint wohl wieder zu trivial gewesen zu sein.Danke für eventuelle Antworten,pitty
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Funktion aus Makro heraus starten
pittyplatsh am 20.11.2009 um 15:43 Uhr (0)
Kommt drauf an wie die Anwendung sein soll:Du kannst natürlich sämtliche Tools von Catia per Macro aufrufen überCode:CATIA.StartCommand("Tool")In den Anführungszeichen steht dann der Name des Tools, welches gestartet werden soll. Damit wird nur das Tool gestartet und der User muss eventuelle weitere Eingaben wie gewohnt vornehmen. Die Namen sämtlicher Tools sind meines Wissens nicht dokumentiert und müssen ein wenig durch probieren, überlegen herausgefunden oder in den Installationsdateien gesucht werden.D ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Funktion aus Makro heraus starten
pittyplatsh am 20.11.2009 um 16:08 Uhr (0)
Habe mich leider damit in der Makro-Programmierung noch nicht viel beschäftigt. Mir schwirren aber 2 Gedanken im Kopf rum:1) Ein Tool gibt sicherlich an CATIA einen Befehl zurück dass dieses weiterarbeiten kann. Vlt kann man diesen Befehl ebenfalls nutzen?2) Du könntest eine MsgBox aufploppen lassen die dir jedoch erlaubt im Hintergrund weiterzuarbeiten (Gibt es im VisualBasic eine Eigenschaft dafür). Nach ausgeführter Funktion wird diese noch mit OK bestätigt und weiter gehts im Text.Oder aber wie schon b ...
|
In das Form CATIA V5 Programmierung wechseln |